/**
 * 申请人信息视图对象
 * 用于在系统中表示和传输申请人相关信息
 */
package org.club.common.model.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 申请人信息视图对象类
 * 包含申请人的基本属性，如用户ID、用户名、真实姓名、联系方式等
 * 主要用于数据传输和展示层，将申请人相关信息以对象形式封装
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ApplicantsVO {
    /**
     * 用户ID
     * 唯一标识申请人
     */
    private Long userId;

    /**
     * 用户名
     * 申请人在系统中的账户名
     */
    private String username;

    /**
     * 真实姓名
     * 申请人的实际姓名
     */
    private String realName;

    /**
     * 电话号码
     * 申请人的联系电话，用于沟通和通知
     */
    private String phone;

    /**
     * 邮箱地址
     * 申请人的电子邮箱，用于接收邮件通知
     */
    private String email;

    /**
     * 头像URL
     * 申请人的头像图片地址
     */
    private String avatarUrl;

    /**
     * 报名状态
     * 表示申请人的报名所处的状态，如未审核、已通过、已拒绝等
     */
    private Integer registrationStatus;

    /**
     * 报名时间
     * 申请人提交报名申请的时间
     */
    private LocalDateTime registrationTime;
}
